/*
 * ODO: Real-Time In-Memory ORM/DBMS Grid software
 * Copyright (c) 2008, Michael Oksenenko
 * All rights reserved.
 */
#ifndef REGEDIT_VISTA_HPP
#define REGEDIT_VISTA_HPP
//----------------------------------------------------------------------------
#include "OsConfig.hpp"
#if ODO_OS_VISTA == ODO_CHOSEN_OS
//----------------------------------------------------------------------------
#include "RegeditIF.hpp"

#include "windows.h"
#include <string>

namespace odo {

class RegeditVista : public RegeditIF {

private: // fields

	HKEY mKeyHandle;

public: // iface

	virtual void openKey(const wchar_t* aKey);
	virtual void closeKey();
	
	virtual bool isOpenKey();
	virtual bool isClosedKey();

	virtual void setValue(const wchar_t* aValueName, const wchar_t* aValue);
	virtual std::wstring getValue(const wchar_t* aValueName);

public: // factory

	virtual ~RegeditVista();
	RegeditVista();

};

}
//----------------------------------------------------------------------------
#endif /* ODO_OS_VISTA */
//----------------------------------------------------------------------------
#endif /* REGEDIT_VISTA_HPP */
